home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / demos / a-d / amms / mbbatch / delete_dir < prev    next >
Encoding:
Text File  |  1995-08-18  |  2.4 KB  |  88 lines

  1. ;
  2. ;    Name : DELETE DIR
  3. ;
  4. ;    $VER: V1.00 / 26-01-95
  5. ;
  6. ;    Funktion : Scriptfile zum Loeschen eines Pfads inc. Brettern und Unterpfaden
  7. ;
  8. ;    Benoetigte AMMS-Befehle :
  9. ;    -------------------------
  10. ;    cd
  11. ;    delete board
  12. ;    delete dir
  13. ;    delete fboard
  14. ;    echo
  15. ;    eod
  16. ;    get dir
  17. ;    gosub
  18. ;    goto
  19. ;    if
  20. ;    parse
  21. ;    return
  22. ;
  23. ;       Benoetigte Amiga-Dos-Befehle :
  24. ;       ------------------------------
  25. ;
  26. ;       Variablen initialisieren :
  27. ;       --------------------------
  28.  I=0                    ; Rekursionstiefe initialisieren
  29.  
  30. ;    Dirname einlesen
  31.  
  32. _parse "Delete Dir" p0 N/Dirname DIRNAME0
  33. _if DIRNAME0 == "" then _eod
  34.  
  35. ;    Rekursionsschleife zum Loeschen alle Bretter und Pfade
  36.  
  37. LOOP:
  38.  TMP=DIRNAME'I'
  39. _cd "'TMP'"                ; In das zu loeschende Dir wechseln
  40. _gosub DELBOARDS            ; Alle Bretter darin loeschen
  41. _gosub DELFBOARDS            ; Alle Filebretter darin loeschen
  42.  I=I+1                    ; Rekursionstiefe erhoehen
  43. _get dir/dir "" DIRNAME'I'        ; Unterpfad einlesen
  44.  TMP=DIRNAME'I'
  45. _if "'TMP'" != "" then _goto LOOP    ; Wenn vorhanden, Rekursion
  46.  
  47. BACK:
  48.  I=I-1                    ; Rekursionstiefe erniedrigen
  49. _cd /                    ; Ein Pfad zurueckwechseln
  50. _if/int I != 0 then _goto NEXT        ; Wenn nicht Ausgangs-Pfad, verzw.
  51.  OLDDIR=DIRNAME'I'
  52. _echo "DELETE '{PATH}''OLDDIR' ..."    ; Statusausgabe
  53. _delete dir/noconfirm "'OLDDIR'"    ; Hauptpfad loeschen
  54. _eod                    ; Ende
  55.  
  56. NEXT:
  57.  OLDDIR=DIRNAME'I'
  58. _get dir/dir "'OLDDIR'" DIRNAME'I'    ; Naechsten Unterpfad einlesen
  59.  TMP=DIRNAME'I'
  60. _echo "DELETE '{PATH}''OLDDIR' ..."    ; Statusausgabe
  61. _delete dir/noconfirm "'OLDDIR'"    ; Vorgaenger loeschen
  62. _if "'TMP'" == "" then _goto BACK    ; Wenn kein naechster Unterpfad, verzw.
  63. _goto LOOP                ; -> Schleife
  64.  
  65. ;    Alle Bretter loeschen
  66.  
  67. DELBOARDS:
  68. _get dir/bo "" BOARD            ; Erstes Brett im Pfad einlesen
  69. DELBOARDS_LOOP:
  70. _if "'BOARD'" == "" then _return    ; Wenn kein Brett gefunden, verzw.
  71. OLDBOARD=BOARD
  72. _get dir/bo "'OLDBOARD'" BOARD        ; Naechstes Brett einlesen
  73. _echo "DELETE '{PATH}''OLDBOARD' ..."    ; Statusausgabe
  74. _delete board/noconfirm "'OLDBOARD'"    ; Vorgaenger-Brett loeschen
  75. _goto DELBOARDS_LOOP            ; -> Schleife
  76.  
  77. ;    Alle Filebretter loeschen
  78.  
  79. DELFBOARDS:
  80. _get dir/fbo "" BOARD            ; Erstes Filebrett im Pfad einlesen
  81. DELFBOARDS_LOOP:
  82. _if "'BOARD'" == "" then _return    ; Wenn kein Filebrett gefunden, verzw.
  83. OLDBOARD=BOARD
  84. _get dir/fbo "'OLDBOARD'" BOARD        ; Naechstes Filebrett einlesen
  85. _echo "DELETE '{PATH}''OLDBOARD' ..."    ; Statusausgabe
  86. _delete fboard/noconfirm "'OLDBOARD'"    ; Vorgaenger-Filebrett loeschen
  87. _goto DELFBOARDS_LOOP            ; -> Schleife
  88.